/*
 * Copyright 2017-2021 Dromara.org
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.dromara.hmily.demo.common.inventory.mapper;

import org.apache.ibatis.annotations.*;
import org.dromara.hmily.demo.common.inventory.dto.InventoryDTO;
import org.dromara.hmily.demo.common.inventory.entity.InventoryDO;
import org.dromara.hmily.demo.common.inventory.entity.LocalLogDO;
import org.dromara.hmily.demo.common.order.entity.Order;

import java.util.List;

/**
 * The interface Inventory mapper.
 *
 * @author xiaoyu
 */
public interface LocalLogMapper {

    /**
     * 保存事务记录表
     *
     * @param localLogDO 订单对象
     * @return rows int
     */
    @Insert(" insert into `local_log` (tx_no,create_time,type,var1,business_id) " +
            " values ( #{txNo},#{createTime},#{type},#{var1},#{businessId})")
    int save(LocalLogDO localLogDO);
    
    /**
     * Find by product id inventory do.
     *
     * @param txNo the product id
     * @return the inventory do
     */
    @Select("select business_id as businessId,var1,tx_no as txNo from local_log where tx_no =#{txNo} and type=#{type}")
    LocalLogDO findByTxNoAndType(@Param("txNo") Long txNo, @Param("type") Integer type);

    @Select("select business_id as businessId,var1,tx_no as txNo from local_log where tx_no =#{txNo} and type in(1,2,3)")
    List<LocalLogDO> findByLocalLog(Long txNo);
}
